
package CCT220_Aula09_Exercicio03_13106;

/**
 * Classe utilizada para teste dos conceitos de OO
 * 
 * @author marcel
 * 
 */
public class ExemploClasse {
	/**
	 * @param par
	 */
	public static void main(String par[]) {

		System.out.println("\n======================" + "\n=====Peofessores"
		        + "\n======================");
		/*
		 * Cria a instância Primeira intância da
		 * classe Professor (objeto
		 * ‘objProfessor’)
		 */
		Professor objProfessor = new Professor();
		/*
		 * Atribui o conteúdo para as variáveis de
		 * instância (Atributos)
		 */
		System.out.println("=====Sem o uso do construtor:\n ");
		objProfessor.setNome("Jose da Silva");
		objProfessor.setEndereco("R das Palmeiras 111");
		objProfessor.setIdade(42);
		objProfessor.setSexo(Util.MASCULINO);
		objProfessor.setTitMaxima(Util.DOUTORADO);
		/*
		 * Obtém o conteúdo dos atributos Nome,
		 * Endereço e Idade e imprime esse
		 * conteúdo para a saída padrão utilizando
		 * System.out.println();
		 */
		System.out.println("Nome: " + objProfessor.getNome());
		System.out.println("Endereço: " + objProfessor.getEndereco());
		System.out.println("Idade: " + objProfessor.getIdade());
		System.out.println("Sexo: " + objProfessor.getSexo());
		System.out.println("Titulação Máxima: " + objProfessor.getTitMaxima());
		/*
		 * Imprime o conteúdo detalhado através do
		 * método getDescricao()
		 */
		System.out.println(objProfessor.getDescricao());

		System.out.println();
		System.out.println("======================"
		        + "\n=====Com o uso do construtor:\n ");
		/*
		 * Cria array com disciplinas que o
		 * Professor Ministra
		 */
		Disciplina[] discMinistradas = {
		        new Disciplina("Programação Orientada a Objetos", 60),
		        new Disciplina("Estruturas de Dados", 30)
		};
		/*
		 * Cria objeto da classe Professor para
		 * guardar todos os dados
		 */
		objProfessor = new Professor("Professor 2", "R das Oliveiras 45",
		        Util.MASCULINO, 38, Util.DOUTORADO, discMinistradas);
		/*
		 * Imprime o conteúdo detalhado através do
		 * método getDescricao()
		 */
		System.out.println(objProfessor.getDescricao());
		System.out.println(objProfessor.getDisciplinas());

		System.out.println("\n======================" + "\n=====Alunos"
		        + "\n======================");
		/*
		 * Cria a instância Primeira intância da
		 * classe Aluno (objeto
		 * ‘objAluno’)
		 */
		Aluno objAluno = new Aluno();
		/*
		 * Atribui o conteúdo para as variáveis de
		 * instância (Atributos)
		 */
		System.out.println("=====Sem o uso do construtor:\n ");
		objAluno.setNome("Maria de Jesus");
		objAluno.setEndereco("R dos Felizes 666");
		objAluno.setIdade(24);
		objAluno.setSexo(Util.FEMININO);
		objAluno.setCurso(Util.SI);
		/*
		 * Obtém o conteúdo dos atributos Nome,
		 * Endereço e Idade e imprime esse
		 * conteúdo para a saída padrão utilizando
		 * System.out.println();
		 */
		System.out.println("Nome: " + objAluno.getNome());
		System.out.println("Endereço: " + objAluno.getEndereco());
		System.out.println("Idade: " + objAluno.getIdade());
		System.out.println("Sexo: " + objAluno.getSexo());
		System.out.println("Cursa: " + objAluno.getCurso());
		/*
		 * Imprime o conteúdo detalhado através do
		 * método getDescricao()
		 */
		System.out.println(objAluno.getDescricao());
		System.out.println();
		System.out.println("======================"
		        + "\n=====Com o uso do construtor:\n ");
		/*
		 * Atribui o conteúdo para as variáveis de
		 * instância (Atributos)
		 */
		/*
		 * Cria array com disciplinas que o
		 * Aluno Cursa
		 */
		Disciplina[] discCursadas = {
		        new Disciplina("Sistemas de Tempo Real", 60),
		        new Disciplina("Processamento Digital de Imagens", 30)
		};
		/*
		 * Instanciacao do objeto aluno usando o
		 * construtor de 6 campos
		 */
		objAluno = new Aluno("Carlos Magno", "R dos Paus Brasil 13106", 22,
		        Util.MASCULINO, Util.CC, discCursadas);
		/*
		 * Imprime o conteúdo detalhado através do
		 * método getDescricao()
		 */
		System.out.println(objAluno.getDescricao());
		System.out.println(objAluno.getDisciplinas());

		System.out.println("\n======================" + "\n=====Fim"
		        + "\n======================");
	}
}